This section is intended to provide a background or context to the invention that is recited in the detailed description. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to this application and is not admitted to be prior art by inclusion in this section.
In a typical video coding scheme, a sequence of pictures is coded, pictures contain slices, and slices contain elementary coding units, such as macroblocks or coding tree units. The macroblocks, in turn, contain the luma and chroma samples corresponding to a small rectangular area in the picture. The pictures may be of different types: intra pictures can be coded without using other pictures for reference, and inter-predicted pictures use other pictures for coding. Different types of pictures may form a group of pictures or a sequence of pictures that has a certain prediction pattern between pictures.
Modern video codecs utilize various prediction schemes to reduce the amount of redundant information that needs to be stored or sent from the encoder to the decoder. Prediction can be done across time (temporally) such that an earlier pictures are used as reference pictures. In multi-view video coding, prediction can also take place (spatially) by using a picture of another view as a reference picture, or by using a synthesized picture formed by view synthesis as a reference picture. Prediction generally takes place so that picture information (such as pixel values) for a block in the reference picture is used for predicting picture information in the current picture, that is, forming a predicted block. So-called motion vectors may be employed in the prediction, and they indicate the source of picture information in the reference picture for the current block being predicted. The reference pictures to be used are kept in memory, and reference picture lists are used to manage the use of the reference pictures.
Some video coding standards introduce headers at slice layer and below, and a concept of a parameter set at layers above the slice layer. An instance of a parameter set may include picture, group of pictures (GOP), and sequence level data such as picture size, display window, optional coding modes employed, macroblock allocation map, and others. Each parameter set instance may include a unique identifier. Each slice header may include a reference to a parameter set identifier, and the parameter values of the referred parameter set may be used when decoding the slice. For example, a picture parameter set may be understood to be a syntax structure containing syntax elements that apply to zero or more entire coded pictures as determined by a syntax element found in the slice headers. Parameter sets decouple the transmission and decoding order of infrequently changing picture, GOP, and sequence level data from sequence, GOP, and picture boundaries.
The number of pictures of multi-view coded video bitstreams can be clearly higher than in the traditional single-view coded video bitstreams. Also, as the resolution (in terms of number of pixels) of the video increases, each picture may have a significantly higher amount of image data to code and transmit.
There is, therefore, a need for solutions that improve the coding efficiency of video.